package com.example.diancai.websocket.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.Fastjson2TypeHandler;
import com.example.diancai.dto.CurrentPlayer;
import com.example.diancai.dto.Vec3DTO;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import jakarta.websocket.Session;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class ClientInfoDTO {
    /**
     * 客户端唯一标识
     */
    private String token;

    @JsonIgnore
    private Session session;
    /**
     * 连接存活时间
     */
    private LocalDateTime existTime;

    private CurrentPlayer currentPlayer;

    /**
     * 是否正在匹配
     */
    private boolean match;

    private LocalDateTime matchTime;


    /**
     * 房间编号
     */
    private String roofNo;

    /**
     * 在房间第几位
     */
    private int roofNumber;

    /**
     * 是否在线
     */
    private boolean isOnline;


    private List<List<Vec3DTO>> before;

    private List<List<Vec3DTO>> current;

    private Integer score;

    private Integer opponentCurrentScore;

    private String lv;


    /**
     * 指令
     * top: 上
     * bottom: 下
     * left: 左
     * right: 右
     */
    private String directive;

    /**
     * 道具
     */
    private List<Prop> props;

    /**
     * 0:未准备 1:准备
     */
    private Integer status;

    private boolean isAI;
    private String aiNo;
}
